#MODEL Training Begins...
#Nvidia Version
! nvcc --version
#TensorFlow version
import tensorflow as tf
tf.version.VERSION
#GPU 80% use
#from tensorflow.compat.v1 import ConfigProto
#from tensorflow.compat.v1 import InteractiveSession
#config = ConfigProto()
#config.gpu_options.per_process_gpu_memory_fraction = 0.8
#config.gpu_options.allow_growth = True
#session = InteractiveSession(config=config)
#Library Import
import os
import glob
import matplotlib.pyplot as plt
import numpy as np
# Keras API
import keras
from keras.models import Sequential
from keras.layers import Dense,Dropout,Flatten
from keras.layers import Conv2D,MaxPooling2D,Activation,AveragePooling2D,BatchNormalization
from keras.preprocessing.image import ImageDataGenerator
#Data import
# My data is in local drive.
train_dir ="C://Users//RoboRock//Projects//Leditor2//PlantVillage//train"
test_dir="C://Users//RoboRock//Projects//Leditor2//PlantVillage//val"
#Image count Function
# function to get count of images
def get_files(directory):
if not os.path.exists(directory):
return 0
count=0
for current_path,dirs,files in os.walk(directory):
for dr in dirs:
count+= len(glob.glob(os.path.join(current_path,dr+"/*")))
return count
train_samples =get_files(train_dir)
num_classes=len(glob.glob(train_dir+"/*"))
test_samples=get_files(test_dir)
print(num_classes,"Classes")
print(train_samples,"Train images")
print(test_samples,"Test images")
# Pre-processing data with parameters.
train_datagen=ImageDataGenerator(rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen=ImageDataGenerator(rescale=1./255)
# set height and width and color of input image.
img_width,img_height =256,256
input_shape=(img_width,img_height,3)
batch_size =32
train_generator =train_datagen.flow_from_directory(train_dir,
target_size=(img_width,img_height),
batch_size=batch_size)
test_generator=test_datagen.flow_from_directory(test_dir,shuffle=True,target_size=(img_width,img_height),
batch_size=batch_size)
# The name of the 12 diseases.
train_generator.class_indices
#CNN Parameter Building
# CNN building.
model = Sequential()
model.add(Conv2D(32, (5, 5),input_shape=input_shape,activation='relu'))
model.add(MaxPooling2D(pool_size=(3, 3)))
model.add(Conv2D(32, (3, 3),activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3),activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(512,activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(128,activation='relu'))
model.add(Dense(num_classes,activation='softmax'))
model.summary()
model_layers = [ layer.name for layer in model.layers]
print('layer name : ',model_layers)
from keras.preprocessing import image
import numpy as np
img1 = image.load_img("C:\\Users\\RoboRock\\Projects\\Leditor2\\PlantVillage\\train\\Tomato___Early_blight\\1.jpg")
plt.imshow(img1);
#preprocess image
img1 = image.load_img("C:\\Users\\RoboRock\\Projects\\Leditor2\\PlantVillage\\train\\Tomato___Early_blight\\1.jpg",
target_size=(256, 256))
img = image.img_to_array(img1)
img = img/255
img = np.expand_dims(img, axis=0)
# Visualizing output after every layer.
from keras.models import Model
conv2d_1_output = Model(inputs=model.input, outputs=model.get_layer('conv2d').output)
max_pooling2d_1_output = Model(inputs=model.input,outputs=model.get_layer('max_pooling2d').output)
conv2d_2_output = Model(inputs=model.input,outputs=model.get_layer('conv2d_1').output)
max_pooling2d_2_output = Model(inputs=model.input,outputs=model.get_layer('max_pooling2d_1').output)
conv2d_3_output = Model(inputs=model.input,outputs=model.get_layer('conv2d_2').output)
max_pooling2d_3_output = Model(inputs=model.input,outputs=model.get_layer('max_pooling2d_2').output)
flatten_1_output = Model(inputs=model.input,outputs=model.get_layer('flatten').output)
conv2d_1_features = conv2d_1_output.predict(img)
max_pooling2d_1_features = max_pooling2d_1_output.predict(img)
conv2d_2_features = conv2d_2_output.predict(img)
max_pooling2d_2_features = max_pooling2d_2_output.predict(img)
conv2d_3_features = conv2d_3_output.predict(img)
max_pooling2d_3_features = max_pooling2d_3_output.predict(img)
flatten_1_features = flatten_1_output.predict(img)
#Filered images
import matplotlib.image as mpimg
fig=plt.figure(figsize=(14,7))
columns = 8
rows = 4
for i in range(columns*rows):
#img = mpimg.imread()
fig.add_subplot(rows, columns, i+1)
plt.axis('off')
plt.title('filter'+str(i))
plt.imshow(conv2d_1_features[0, :, :, i], cmap='viridis') # Visualizing in color mode.
plt.show()
import matplotlib.image as mpimg
fig=plt.figure(figsize=(14,7))
columns = 8
rows = 4
for i in range(columns*rows):
#img = mpimg.imread()
fig.add_subplot(rows, columns, i+1)
plt.axis('off')
plt.title('filter'+str(i))
plt.imshow(max_pooling2d_1_features[0, :, :, i], cmap='viridis')
plt.show()
import matplotlib.image as mpimg
fig=plt.figure(figsize=(14,7))
columns = 8
rows = 4
for i in range(columns*rows):
#img = mpimg.imread()
fig.add_subplot(rows, columns, i+1)
plt.axis('off')
plt.title('filter'+str(i))
plt.imshow(conv2d_2_features[0, :, :, i], cmap='viridis')
plt.show()
# we can also visualize in color mode.
import matplotlib.image as mpimg
fig=plt.figure(figsize=(14,7))
columns = 8
rows = 4
for i in range(columns*rows):
#img = mpimg.imread()
fig.add_subplot(rows, columns, i+1)
plt.axis('off')
plt.title('filter'+str(i))
plt.imshow(max_pooling2d_2_features[0, :, :, i], cmap='viridis')
plt.show()
import matplotlib.image as mpimg
fig=plt.figure(figsize=(16,16))
columns =8
rows = 8
for i in range(columns*rows):
#img = mpimg.imread()
fig.add_subplot(rows, columns, i+1)
plt.axis('off')
plt.title('filter'+str(i))
plt.imshow(conv2d_3_features[0, :, :, i], cmap='viridis')
plt.show()
import matplotlib.image as mpimg
fig=plt.figure(figsize=(14,14))
columns = 8
rows = 8
for i in range(columns*rows):
#img = mpimg.imread()
fig.add_subplot(rows, columns, i+1)
plt.axis('off')
plt.title('filter'+str(i))
plt.imshow(max_pooling2d_3_features[0, :, :, i],cmap='viridis')
plt.show()
#Model training
validation_generator = train_datagen.flow_from_directory(
train_dir, # same directory as training data
target_size=(img_height, img_width),
batch_size=batch_size)
# Model building to get trained with parameters.
opt=keras.optimizers.Adam(lr=0.001)
model.compile(optimizer=opt,loss='categorical_crossentropy',metrics=['accuracy'])
train=model.fit(train_generator,
epochs=21,
steps_per_epoch=train_generator.samples // batch_size,
validation_data=validation_generator,
validation_steps= validation_generator.samples // batch_size,
verbose=1,workers=1)
#Plot Accuracy and Loss graph
acc = train.history['accuracy']
val_acc = train.history['val_accuracy']
loss = train.history['loss']
val_loss = train.history['val_loss']
epochs = range(1, len(acc) + 1)
#Train and validation accuracy
plt.plot(epochs, acc, 'b', label='Training accurarcy')
plt.plot(epochs, val_acc, 'r', label='Validation accurarcy')
plt.title('Training and Validation accurarcy')
plt.legend()
plt.figure()
#Train and validation loss
plt.plot(epochs, loss, 'b', label='Training loss')
plt.plot(epochs, val_loss, 'r', label='Validation loss')
plt.title('Training and Validation loss')
plt.legend()
plt.show()
#Evaluate model using unseen data
score,accuracy =model.evaluate(test_generator,verbose=1)
print("Test score is {}".format(score))
print("Test accuracy is {}".format(accuracy))
# Save model
from keras.models import load_model
model.save('model.h5')
# Save model weights.
from keras.models import load_model
model.save_weights('model_weights.h5')
# Get classes of model trained on
classes = train_generator.class_indices
classes
# Loading model and predict.
from keras.models import load_model
model=load_model('model.h5')
# Mention name of the disease into list.
Classes = ['Apple___Apple_scab',
'Apple___Black_rot',
'Apple___Cedar_apple_rust',
'Apple___healthy',
'Blueberry___healthy',
'Cherry_(including_sour)___Powdery_mildew',
'Cherry_(including_sour)___healthy',
'Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot',
'Corn_(maize)___Common_rust_',
'Corn_(maize)___Northern_Leaf_Blight',
'Corn_(maize)___healthy',
'Grape___Black_rot',
'Grape___Esca_(Black_Measles)',
'Grape___Leaf_blight_(Isariopsis_Leaf_Spot)',
'Grape___healthy',
'Orange___Haunglongbing_(Citrus_greening)',
'Peach___Bacterial_spot',
'Peach___healthy',
'Pepper,_bell___Bacterial_spot',
'Pepper,_bell___healthy',
'Potato___Early_blight',
'Potato___Late_blight',
'Potato___healthy',
'Raspberry___healthy',
'Soybean___healthy',
'Squash___Powdery_mildew',
'Strawberry___Leaf_scorch',
'Strawberry___healthy',
'Tomato___Bacterial_spot',
'Tomato___Early_blight',
'Tomato___Late_blight',
'Tomato___Leaf_Mold',
'Tomato___Septoria_leaf_spot',
'Tomato___Spider_mites Two-spotted_spider_mite',
'Tomato___Target_Spot',
'Tomato___Tomato_Yellow_Leaf_Curl_Virus',
'Tomato___Tomato_mosaic_virus',
'Tomato___healthy',
'background',
'fresh cotton leaf',
'fresh cotton plant',
'fusarium wilt diseased cotton leaf',
'fusarium wilt diseased cotton plant',
'mango_Anthracnose',
'mango_healthy']
#TXT File out...
labels = '\n'.join(sorted(train_generator.class_indices.keys()))
with open('labels.txt', 'w') as f:
f.write(labels)
#Prediction
import numpy as np
import matplotlib.pyplot as plt
# Pre-Processing test data same as train data.
img_width=256
img_height=256
model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])
from keras.preprocessing import image
def prepare(img_path):
img = image.load_img(img_path, target_size=(256, 256))
x = image.img_to_array(img)
x = x/255
return np.expand_dims(x, axis=0)
result = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\PlantVillage\\val\\Tomato___Bacterial_spot\\1.jpg')])
disease=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\PlantVillage\\val\\Tomato___Bacterial_spot\\1.jpg')
plt.imshow(disease)
print (Classes[int(result)])
#C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\1grape healthy.jpg
result1 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___healthy.jpg')])
disease1=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\1grape healthy.jpg')
plt.imshow(disease1)
print (Classes[int(result1)])
#C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\2grape rot.JPG
result2 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___Apple_scab.JPG')])
disease2=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___Apple_scab.JPG')
plt.imshow(disease2)
print (Classes[int(result2)])
result3 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___Black_rot.JPG')])
disease3=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___Black_rot.JPG')
plt.imshow(disease3)
print (Classes[int(result3)])
result4 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___Cedar_apple_rust.JPG')])
disease4=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Apple___Cedar_apple_rust.JPG')
plt.imshow(disease4)
print (Classes[int(result4)])
result5 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Blueberry___healthy.JPG')])
disease5=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Blueberry___healthy.JPG')
plt.imshow(disease5)
print (Classes[int(result5)])
result6 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Cherry_(including_sour)___Powdery_mildew.JPG')])
disease6=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Cherry_(including_sour)___Powdery_mildew.JPG')
plt.imshow(disease6)
print (Classes[int(result6)])
result7 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Cherry_(including_sour)___healthy.JPG')])
disease7=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Cherry_(including_sour)___healthy.JPG')
plt.imshow(disease7)
print (Classes[int(result7)])
result8 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot.JPG')])
disease8=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot.JPG')
plt.imshow(disease8)
print (Classes[int(result8)])
result9 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___Common_rust_.JPG')])
disease9=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___Common_rust_.JPG')
plt.imshow(disease9)
print (Classes[int(result9)])
result10 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___Northern_Leaf_Blight.JPG')])
disease10=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___Northern_Leaf_Blight.JPG')
plt.imshow(disease10)
print (Classes[int(result10)])
result11 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___healthy.JPG')])
disease11=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Corn_(maize)___healthy.JPG')
plt.imshow(disease11)
print (Classes[int(result11)])
result12 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___Black_rot.JPG')])
disease12=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___Black_rot.JPG')
plt.imshow(disease12)
print (Classes[int(result12)])
result13 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___Esca_(Black_Measles).JPG')])
disease13=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___Esca_(Black_Measles).JPG')
plt.imshow(disease13)
print (Classes[int(result13)])
result14 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___Leaf_blight_(Isariopsis_Leaf_Spot).JPG')])
disease14=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___Leaf_blight_(Isariopsis_Leaf_Spot).JPG')
plt.imshow(disease14)
print (Classes[int(result14)])
result15 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___healthy.JPG')])
disease15=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Grape___healthy.JPG')
plt.imshow(disease15)
print (Classes[int(result15)])
result16 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Orange___Haunglongbing_(Citrus_greening).JPG')])
disease16=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Orange___Haunglongbing_(Citrus_greening).JPG')
plt.imshow(disease16)
print (Classes[int(result16)])
result17 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Peach___Bacterial_spot.JPG')])
disease17=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Peach___Bacterial_spot.JPG')
plt.imshow(disease17)
print (Classes[int(result17)])
result18 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Peach___healthy.JPG')])
disease18=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Peach___healthy.JPG')
plt.imshow(disease18)
print (Classes[int(result18)])
result19 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Pepper,_bell___Bacterial_spot.JPG')])
disease19=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Pepper,_bell___Bacterial_spot.JPG')
plt.imshow(disease19)
print (Classes[int(result19)])
result20 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Pepper,_bell___healthy.JPG')])
disease20=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Pepper,_bell___healthy.JPG')
plt.imshow(disease20)
print (Classes[int(result20)])
result21 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Potato___Early_blight.JPG')])
disease21=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Potato___Early_blight.JPG')
plt.imshow(disease21)
print (Classes[int(result21)])
result22 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Potato___Late_blight.JPG')])
disease22=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Potato___Late_blight.JPG')
plt.imshow(disease22)
print (Classes[int(result22)])
result23 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Potato___healthy.JPG')])
disease23=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Potato___healthy.JPG')
plt.imshow(disease23)
print (Classes[int(result23)])
result24 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Raspberry___healthy.JPG')])
disease24=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Raspberry___healthy.JPG')
plt.imshow(disease24)
print (Classes[int(result24)])
result25 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Soybean___healthy.JPG')])
disease25=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Soybean___healthy.JPG')
plt.imshow(disease25)
print (Classes[int(result25)])
result26 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Squash___Powdery_mildew.JPG')])
disease26=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Squash___Powdery_mildew.JPG')
plt.imshow(disease26)
print (Classes[int(result26)])
result27 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Strawberry___Leaf_scorch.JPG')])
disease27=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Strawberry___Leaf_scorch.JPG')
plt.imshow(disease27)
print (Classes[int(result27)])
result28 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Strawberry___healthy.JPG')])
disease28=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Strawberry___healthy.JPG')
plt.imshow(disease28)
print (Classes[int(result28)])
result29 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Bacterial_spot.JPG')])
disease29=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Bacterial_spot.JPG')
plt.imshow(disease29)
print (Classes[int(result29)])
result30 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Early_blight.JPG')])
disease30=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Early_blight.JPG')
plt.imshow(disease30)
print (Classes[int(result30)])
result31 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Late_blight.JPG')])
disease31=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Late_blight.JPG')
plt.imshow(disease31)
print (Classes[int(result31)])
result32 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Leaf_Mold.JPG')])
disease32=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Leaf_Mold.JPG')
plt.imshow(disease32)
print (Classes[int(result32)])
result33 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Septoria_leaf_spot.JPG')])
disease33=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Septoria_leaf_spot.JPG')
plt.imshow(disease33)
print (Classes[int(result33)])
result34 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Spider_mites Two-spotted_spider_mite.JPG')])
disease34=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Spider_mites Two-spotted_spider_mite.JPG')
plt.imshow(disease34)
print (Classes[int(result34)])
result35 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Target_Spot.JPG')])
disease35=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Target_Spot.JPG')
plt.imshow(disease35)
print (Classes[int(result35)])
result36 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Tomato_Yellow_Leaf_Curl_Virus.JPG')])
disease36=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Tomato_Yellow_Leaf_Curl_Virus.JPG')
plt.imshow(disease36)
print (Classes[int(result36)])
result37 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Tomato_mosaic_virus.JPG')])
disease37=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___Tomato_mosaic_virus.JPG')
plt.imshow(disease37)
print (Classes[int(result37)])
result38 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___healthy.JPG')])
disease38=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\Tomato___healthy.JPG')
plt.imshow(disease38)
print (Classes[int(result38)])
result39 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fresh cotton leaf.JPG')])
disease39=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fresh cotton leaf.JPG')
plt.imshow(disease39)
print (Classes[int(result39)])
result40 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fresh cotton plant.JPG')])
disease40=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fresh cotton plant.JPG')
plt.imshow(disease40)
print (Classes[int(result40)])
result41 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fusarium wilt diseased cotton leaf.JPG')])
disease41=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fusarium wilt diseased cotton leaf.JPG')
plt.imshow(disease41)
print (Classes[int(result41)])
result42 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\mango_Anthracnose.JPG')])
disease42=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\mango_Anthracnose.JPG')
plt.imshow(disease42)
print (Classes[int(result42)])
result43 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fusarium wilt diseased cotton plant.JPG')])
disease43=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\fusarium wilt diseased cotton plant.JPG')
plt.imshow(disease43)
print (Classes[int(result43)])
result44 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\mango_healthy.JPG')])
disease44=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\mango_healthy.JPG')
plt.imshow(disease44)
print (Classes[int(result44)])
result45 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg1.JPG')])
disease45=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg1.JPG')
plt.imshow(disease45)
print (Classes[int(result45)])
result46 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg2.JPG')])
disease46=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg2.JPG')
plt.imshow(disease46)
print (Classes[int(result46)])
result47 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg3.JPG')])
disease47=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg3.JPG')
plt.imshow(disease47)
print (Classes[int(result47)])
result48 = model.predict_classes([prepare('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg4.JPG')])
disease48=image.load_img('C:\\Users\\RoboRock\\Projects\\Leditor2\\Check\\bg4.JPG')
plt.imshow(disease48)
print (Classes[int(result48)])
#Convert Model To "tflite format
#import tensorflow as tf
converter = tf.compat.v1.lite.TFLiteConverter.from_keras_model_file('C:\\Users\\RoboRock\\Projects\\Leditor2\\model.h5')
tfmodel = converter.convert()
open ("model.tflite" , "wb") .write(tfmodel)
#END OF PROJECT Training Phase